/**
 * 控件盒子
 * 用于处理尺寸和定位
 */

export default class WidgetBox {
  /** 宽度 */
  w = 0

  /** 高度 */
  h = 0

  /** 水平位置 */
  x = 0

  /** 纵向位置 */
  y = 0

  /** 控件中心定位 x */
  set ox(val) {
    const x = val - this.w / 2
    this.x = x > 0 ? x : 0
  }

  get ox() {
    return this.x + this.w / 2
  }

  /** 控件中心定位 y */
  set oy(val) {
    const y = val - this.h / 2
    this.y = y > 0 ? y : 0
  }

  get oy() {
    return this.y + this.h / 2
  }
}
